TD 11 : Normalisation FN3 et FNBC

Décomposition SPD, SPI, FN3 et FNBC

Normalisation
Décomposition
Perte de DF
Perte d'information
SPD
SPI
FN3
FNBC
Published

December 12, 2025

ImportantObjectifs

L’objectif de cette séance est de traduire un diagramme E/A (MCD) en un modèle relationnel (MRD).

Exercice 1

Voici un schéma relationnel :

Et voici le diagramme des DF qu’il vérifie.

Sur ce diagramme, on lit par exemple les DF:

  • #fournisseur \(\to\) #nom_f
  • #fournisseur, #produit, date \(\to\) #quantité
NoteQuestion

Est ce que le schéma relationnel proposé entraine des pertes de DF ?

NoteQuestion

Pour chaque relation, déterminer les clés et vérifier si elle est en FNBC, sinon donner la forme normale optimale qu’elle vérifie.

NoteQuestion

Pour les tables qui ne sont pas FNBC, illustrer les redondances par des exemples de tuples.

NoteQuestion

En reprenant la conception depuis le diagramme E/A, proposer un schéma qui soit en FNBC.

Exercice 2

On reprend un schéma \(\mathcal{A}\) déjà étudié dans le TD précédent.

\(\mathcal{A}\)={Occupant, Adresse, Noapt, Nbpièces, Nbpersonnes, Propriétaire}.

Un tuple (o, a, n, np, nr, p) a la signification suivante : la personne o habite à l’adresse a l’appartement de numéro n avec np personnes ayant nr pièces dont le propriétaire est p.

\(\mathcal{A}\) vérifie l’ensemble \(\Sigma\) des dépendances fonctionnelles suivantes

Occupant → Adresse
Occupant → Noapt
Occupant → Nbpersonnes
Adresse → Propriétaire
Adresse, Noapt → Occupant
Adresse, Noapt → Nbpièces

On considère les décompositions suivantes:

  • Décomposition 1 :
    • \(\mathcal{A_1}\) = {Occupant, Adresse, Noapt, Nbpersonnes, Propriétaire},
    • \(\mathcal{A_2}\) = {Adresse, Noapt, Occupant, Nbpièces}.
  • Décomposition 2 :
    • \(\mathcal{A_1}\) = {Occupant, Adresse, Nbpersonnes, Propriétaire},
    • \(\mathcal{A_2}\) = {Adresse, Noapt, Occupant, Nbpièces}.
  • Décomposition 3 :
    • \(\mathcal{A_1}\) = {Occupant, Nbpersonnes},
    • \(\mathcal{A_2}\) = {Adresse, Noapt, Occupant, Nbpièces},
    • \(\mathcal{A_3}\) = {Adresse, Propriétaire}.
NoteQuestion

Montrer que \(\Sigma\) est irredondante.

NoteQuestion

Dans la correction du TD précédent, il est montré que les décompositions 1 et 2 sont sans pertes de DF (elles sont numérotées 2 et 2bis dans la correction).

La décomposition 3 est-elle également sans pertes de DF ?

NoteQuestion

En utilisant l’algorithme de poursuite, déterminer si ces trois décompositions sont sans pertes d’information.

NoteQuestion

Déterminer la FN optimale que vérifie la 3ème décomposition.

NoteQuestion

Appliquer l’algorithme de décomposition FN3 vu en cours pour obtenir une décomposition de \(\mathcal{A}\) sans pertes de DF et sans pertes d’informations.

La décomposition obtenue est-elle FNBC ?

Comparer avec les décompositions précédentes.

WarningRetenir

Les normalisations FN2, FN3 et FNBC ne réduisent que les redondances internes à chaque table liées à l’existence de DF entre les attributs.

NoteQuestion

Appliquer l’algorithme de décomposition FNBC vu en cours pour obtenir une décomposition FNBC de \(\mathcal{A}\) sans pertes d’information. La décomposition préserve-t-elle sans perte de DF ?

Comparer avec les décompositions précédentes.

Exercice 3

Soit le schéma \(\mathcal{A}\)={A,B,C,D,E,F,G,H} et l’ensemble de DF

BE → AC  
B → H  
F → CD  
D → G
NoteQuestion

Appliquer l’algorithme de décomposition FNBC vu en cours pour obtenir une décomposition de \(\mathcal{A}\) qui est sans pertes d’information. Déterminer quelles DF sont préservées.

NoteQuestion

Peut-on, en ajoutant un sous-schéma à la décomposition, obtenir une décomposition FNBC sans pertes d’information et sans pertes de DF ?

NoteQuestion

Appliquer l’algorithme de décomposition FN3 vu en cours pour obtenir une décomposition de \(\mathcal{A}\) qui est sans pertes d’information et sans pertes de dépendance. Comparer avec la décomposition précédente.